Python 从列表中选择一个特定元素并将其附加到另一个列表中

Python 从列表中选择一个特定元素并将其附加到另一个列表中,python,list,loops,append,Python,List,Loops,Append,我有两个列表x和y x = ['13', '77', '58', '792', '171'] y = [] 我需要将x中以“7”开头的所有元素添加到y中 我试过这样的方法: i = 0 for i in range(len(x)): if i[0] == '7': y.append(i[0]) i += 1 我选择了一个更详细的解决方案,它是正确的,应该易于阅读 x = ['13', '77', '58', '792', '171'] y = []

我有两个列表x和y

x = ['13', '77', '58', '792', '171']

y = []
我需要将x中以“7”开头的所有元素添加到y中

我试过这样的方法:

i = 0
for i in range(len(x)):
    if i[0] == '7':
        y.append(i[0])
        i += 1

我选择了一个更详细的解决方案,它是正确的,应该易于阅读

x = ['13', '77', '58', '792', '171']

y = []

for e in x:
    if e[0] == '7':
        y.append(e)

我选择了一个更详细的解决方案,它是正确的,应该易于阅读

x = ['13', '77', '58', '792', '171']

y = []

for e in x:
    if e[0] == '7':
        y.append(e)

另一种简洁的方法是使用handy filter()函数,它接受一个返回“bool”的函数(在本例中是lambda函数)

(这不会将元素附加到y,不确定是否需要。)
不是防弹的,但适用于您的示例。

另一种简洁的方法是使用handy filter()函数,它接受一个返回“bool”的函数(在本例中是lambda函数)

(这不会将元素附加到y,不确定是否需要。)
不是防弹的,但适用于您的示例。

y.extend(如果e.startswith('7'))将e表示在x中的e更改为
y.append(i[0])
to
y.append(i)
i+=1
不会对您的程序产生影响,在循环之前也不需要
i=0
y.extend(如果e.startswith('7')将e表示在x中的e)
change
y.append(i[0])
to
y.append(i)
i+=1
不会对您的程序产生影响,循环之前也不需要
i=0
。如何删除我拥有的字符串列表中的第一个字符:x=['76776',766',71']我正在尝试返回x=['6776',66',1']@dontworry123尝试使用此
y.append(e[1:])
代替
y.append(e)
如何删除我拥有的字符串列表中的第一个字符:x=['76776','766','71']我正在尝试返回x=['6776','66','1']@dontworry123尝试使用此
y.append(e[1:])
代替
y.append(e)
x = ['13', '77', '58', '792', '171']
y = list(filter(lambda item: item.startswith('7'), x))