如何将一定长度后的字符串中的所有内容移动到列表中 python
How to move everything in a string after a certain length into a list python
我正在尝试构建一个函数,它将接收字符串中 140 个字符后的所有内容,然后将其移动到一个新变量中一秒钟 'tweet'。
tweetlength = 140
tweet = input("What do you want to tweet: ")
tweet_copy = []
tweet_2 = []
for i in tweet:
if len(tweet) <= tweetlength:
print(tweet)
break
if len(tweet) >= tweetlength:
tweet_copy = tweet
for x in tweet_copy [140, 280]:
tweet_2.append(x)
print(tweet_copy + tweet_2)
但是我目前收到一条错误消息“字符串索引必须是整数”。我需要能够引用索引值为 140-280 的列表中的所有内容,但当它是一个字符串时我似乎不能这样做?
只需从位置 140 开始创建一个子字符串。
下面的代码段中“sub_s”的值为“fg”
s = "abcdefg"
sub_s = s[5:]
由于您使用的是 python,因此您不必遍历字符串。您的代码可以像您在原始示例中所做的那样简单(假设您的输入最多为 280):
tweetlength = 140
tweet = input("What do you want to tweet: ")
tweet, tweet_2 = (tweet[:tweetlength], tweet[tweetlength:])
print(tweet)
if tweet_2: # An empty string evaluates as False
print('Second part')
print(tweet_2)
我会使用这样的生成器:
MAXTWEET = 140
def tweets(user_input):
while user_input:
yield user_input[:MAXTWEET]
user_input = user_input[MAXTWEET:]
for tweet in tweets('A very long string'):
print(tweet)
通过这种方式,输入字符串可以是任意长度,生成器将 return 最大长度为 MAXTWEET 的字符串
我正在尝试构建一个函数,它将接收字符串中 140 个字符后的所有内容,然后将其移动到一个新变量中一秒钟 'tweet'。
tweetlength = 140
tweet = input("What do you want to tweet: ")
tweet_copy = []
tweet_2 = []
for i in tweet:
if len(tweet) <= tweetlength:
print(tweet)
break
if len(tweet) >= tweetlength:
tweet_copy = tweet
for x in tweet_copy [140, 280]:
tweet_2.append(x)
print(tweet_copy + tweet_2)
但是我目前收到一条错误消息“字符串索引必须是整数”。我需要能够引用索引值为 140-280 的列表中的所有内容,但当它是一个字符串时我似乎不能这样做?
只需从位置 140 开始创建一个子字符串。
下面的代码段中“sub_s”的值为“fg”
s = "abcdefg"
sub_s = s[5:]
由于您使用的是 python,因此您不必遍历字符串。您的代码可以像您在原始示例中所做的那样简单(假设您的输入最多为 280):
tweetlength = 140
tweet = input("What do you want to tweet: ")
tweet, tweet_2 = (tweet[:tweetlength], tweet[tweetlength:])
print(tweet)
if tweet_2: # An empty string evaluates as False
print('Second part')
print(tweet_2)
我会使用这样的生成器:
MAXTWEET = 140
def tweets(user_input):
while user_input:
yield user_input[:MAXTWEET]
user_input = user_input[MAXTWEET:]
for tweet in tweets('A very long string'):
print(tweet)
通过这种方式,输入字符串可以是任意长度,生成器将 return 最大长度为 MAXTWEET 的字符串